package LeetCode.LC80;

/**
 * 双指针解法
 * 复杂度分析
 *
 *     时间复杂度：O，我们遍历每个数组元素一次。
 *     空间复杂度：O(1)。
 * @author corn
 * @create 2020-11-06-9:42
 */
public class Solution1 {
    public int removeDuplicates(int[] nums) {
        int j = 1, count = 1;
        for (int i = 1; i < nums.length; i++) {
            if (nums[i] == nums[i - 1]) {
                count++;
            } else {
                count = 1;
            }
            //只有当count<=2时，j当前指向的字符才换成i指向的字符，然后j后移
            if (count <= 2) {
                //nums[j++] = nums[i];
                nums[j] = nums[i];
                j++;
            }
        }
        return j;
    }
}
